package tech.aistar.corejava.day09.strings;

import com.sun.org.apache.xpath.internal.SourceTree;

import java.util.Arrays;

/**
 * Created by 豆梦寒 on 2019/7/25.
 */
public class StringMethod {
    public static void main(String[] args) {
        //通过new对象
        String str = new String("abc");

        //获取字符串的长度
        System.out.println(str.length());
        //根据字符串下标来返回对应的char值
        //下标也是从0开始，字符串长度为1
        //如果越界   - java.lang.StringIndexOutOfBoundsException字符串下标越界异常
        System.out.println(str.charAt(2));//c

        //拼接字符串
        //String concat(Stirng str);
        //底层新建一个Char[] 数组，用来保存abcdef
        String result = str.concat("def");

        System.out.println(str);

        System.out.println(result);

        //boolean contains(charSequence s);
        //多态  面向接口编程 方法的参数类型写成了接口 那么可以传入接口的任意实现类

        //判断字符串中是否某个字符系列
        System.out.println(str.contains("c"));

        //判断字符串是否以某个前缀开头
        System.out.println("aistar".startsWith("ai"));
        //判断字符串是否以某个后缀结束
        System.out.println("xxx.gif".endsWith(".gif"));

        //说明String类肯定重写了equals方法
        System.out.println("abc".equals("abc"));

        String name = "喜";

        //可以利用字节数进行加密操作和解密操作
        //字节数组
        //将字符串转换成字节组

        byte[] buf = name.getBytes();
        System.out.println(Arrays.toString(buf));

        for (int i = 0; i < buf.length; i++) {
            buf[i]^=888;
        }
        String wstr = new String(buf);

        System.out.println(wstr);

        System.out.println("==============");

        //返回字符串某个字符第一次出现的位置
        //int indexOf(int ch)
        //char - >  int
        //lastOf() 最后一个
        System.out.println("bacad".indexOf('c'));
        System.out.println("bacad".lastIndexOf('d'));

        //boolean isEmpty();
        //判断字符串长度是为0
        System.out.println("".isEmpty());

        System.out.println("  ".isEmpty());

        //trim() ,去除有效字符两边的空格
        System.out.println(" abc ".trim());
        System.out.println(" abc ".trim().length());
        System.out.println("  ".trim().length());

        System.out.println("I LOVE GIRL TOO".replace("GIR","AYOU"));
        System.out.println("========");

        //字符串的截取
        String x = "HELLO WORLD";
        //从下标1位置开始截取
        String y = x.substring(1);

        //都是代表下标
        String z = x.substring(1,4);

        System.out.println(x);
        System.out.println(y);
        System.out.println(z);

        //转换大小写
        System.out.println("ABC".toLowerCase());
        System.out.println("abc".toUpperCase());

        //将int类型转换成String
        String n = String.valueOf(10);


        //将字符串转换成字符数组
        char[] arr = "abcdef".toCharArray();
        System.out.println(arr);



    }
}
